package com.qinglei.recoup.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * 睡眠呼吸数据详情
 *
 * @author dqh
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_bed_health_breath_daily_data")
@ApiModel(value="BedHealthBreathDailyData对象", description="睡眠呼吸数据详情")
@JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class BedHealthBreathDailyData implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
            @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "床位ID")
    private Integer bedId;

    @ApiModelProperty(value = "低通气总时间(秒)")
    @Deprecated
    private Integer totalHyponeaTime;

    @ApiModelProperty(value = "呼吸暂停总时间(秒)")
    @Deprecated
    private Integer totalApneaTime;

    @ApiModelProperty(value = "低通气占睡眠时间比例(百分比%)")
    @Deprecated
    private Double hyponeaProportion;

    @ApiModelProperty(value = "呼吸暂停占睡眠时间比例(百分比%)")
    @Deprecated
    private Double apneaProportion;

    @ApiModelProperty(value = "低通气平均持续时间(秒)")
    private Double hyponeaAverageTime;

    @ApiModelProperty(value = "呼吸暂停平均持续时间(秒)")
    private Double apneaAverageTime;

    @ApiModelProperty(value = "低通气最长持续时间(秒)")
    @Deprecated
    private Integer hyponeaMaxTime;

    @ApiModelProperty(value = "呼吸暂停最长持续时间(秒)")
    @Deprecated
    private Integer apneaMaxTime;

    @ApiModelProperty(value = "最长低通气发生于(几点几分几秒)")
    @Deprecated
    private String hyponeaTimePoint;

    @ApiModelProperty(value = "最长呼吸暂停发生于(几点几分几秒)")
    @Deprecated
    private String apneaTimePoint;

    @ApiModelProperty(value = "低通气总次数")
    private Integer hyponeaTotalNumber;

    @ApiModelProperty(value = "呼吸暂停总次数")
    private Integer apneaTotalNumber;

    @ApiModelProperty(value = "低通气指数（HI）")
    @Deprecated
    private Double hi;

    @ApiModelProperty(value = "呼吸暂停指数（AI）")
    @Deprecated
    private Double ai;

    @ApiModelProperty(value = "紊乱指数（AHI）")
    private Double ahi;

    @TableField("hyponea_frequency")
    private String hyponeaFrequencyStr;

    @TableField("apnea_frequency")
    private String apneaFrequencyStr;

    @ApiModelProperty(value = "诊断结果(-1, 0, 1, 2, 3, 4)")
    @Deprecated
    private Integer diagnosisResults;

    @ApiModelProperty(value = "是否给呼吸报告(0, 1)")
    @Deprecated
    private Integer breathReport;

    @ApiModelProperty(value = "低通气事件详情")
    @TableField(exist = false)
    private List<Integer> hyponeaFrequency;

    @ApiModelProperty(value = "呼吸暂停事件详情")
    @TableField(exist = false)
    private List<Integer>  apneaFrequency;

    @ApiModelProperty(value = "统计日期")
    private LocalDate statisticsDate;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "是否有呼吸报告（1有报告，0没有报告）")
    private Integer flagBreathReport;

    @TableField(exist = false)
    @ApiModelProperty(value = "一维距离像数据切片(长度不固定)一维数组转化成2维数组40*60=2400")
    private List<Double> hrrpSection;

    @TableField(exist = false)
    @ApiModelProperty(value = "呼吸相位图切片的数据(长度不固定)600的整数倍")
    private List<Double> breathPhaseSection;

    @TableField("hrrp_section")
    @ApiModelProperty(value = "一维距离像数据切片(长度不固定)一维数组转化成2维数组40*60=2400，String类型")
    private String hrrpSectionStr;

    @TableField("breath_phase_section")
    @ApiModelProperty(value = "呼吸相位图切片的数据(长度不固定)600的整数倍，String类型")
    private String breathPhaseSectionStr;


    @ApiModelProperty(value = "数据切片发生时间字符串列表")
    @TableField("slice_time_str")
    private String sliceTimeStr;

    @ApiModelProperty(value = "呼吸事件图中的雷达时间字符串列表")
    @TableField("time_stamp_min")
    private String timeStampMin;

    @ApiModelProperty(value = "呼吸事件切片ossurl")
    @TableField("fig_oss_url")
    private String figOssUrl;

}
